package com.yongoe.ecy.secondNode.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongoe.ecy.secondNode.entity.SecondNode;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 二级节点
 *
 * @author monad
 * @since 2024/03/10
 */
@Mapper
public interface SecondNodeMapper extends BaseMapper<SecondNode> {

    Page<SecondNode> getSecondNodeByPage(Page<SecondNode> page, @Param("secondNode") SecondNode secondNode);

    // 新增二级节点
    @DS("neo4j")
    Long addSecondNode(SecondNode secondNode);

    // 修改二级节点
    @DS("neo4j")
    void updateSecondNode(SecondNode secondNode);

    // 删除二级节点(neo4j)
    @DS("neo4j")
    void deleteSecondNodes(Long[] ids);

    // 删除二级节点(mysql)
    @DS("mysql")
    void deleteByIds(Long[] ids);

    // 删除全部二级节点(mysql)
    @DS("mysql")
    void removeAll();

    // 查询子节点
    @DS("neo4j")
    int selectChild(Long[] ids);
}
